iT邦幫忙

0

[leetcode - Bliend-75 ] 206. Reverse Linked List (Easy)

  • 分享至 

  • xImage
  •  

Given the head of a singly linked list, reverse the list, and return the reversed list.

給一個 linked list 將他反轉。

Example

Input: 1 -> 2 -> 3 -> 4 -> 5
Output: 5 -> 4 -> 3 -> 2 -> 1

Coding

/**
 * @param {ListNode} head
 * @return {ListNode}
 */
var reverseList = function(head) {
    let prev = null;
    while (head) {
        next = head.next;
        head.next = prev;
        prev = head;
        head = next;
    }
    return prev; 
};

https://ithelp.ithome.com.tw/upload/images/20231226/20124767ESRrBCybiC.jpg
創建一個 prev 指向 null

https://ithelp.ithome.com.tw/upload/images/20231226/20124767mzyRMZBuUv.jpg
移動 next 到 head 的下一個 node

https://ithelp.ithome.com.tw/upload/images/20231226/20124767mc9KolSoS4.jpg
將 head 的 next 連接到 prev

https://ithelp.ithome.com.tw/upload/images/20231226/20124767AV8jyrwe1G.jpg
移動 prevhead (初始化 prev 指針)

https://ithelp.ithome.com.tw/upload/images/20231226/20124767DF3CzPpEdR.jpg
移動 headnext (移動到下一個要處理的 node)

https://ithelp.ithome.com.tw/upload/images/20231226/20124767crBYnfd9xt.jpg
移動 next 到下一個 node

https://ithelp.ithome.com.tw/upload/images/20231226/201247674WFoBU8aSy.jpg
將 head 的 next 連接到 prev

https://ithelp.ithome.com.tw/upload/images/20231226/20124767kbY8OEQKne.jpg
移動 prevhead (初始化 prev 指針)

https://ithelp.ithome.com.tw/upload/images/20231226/20124767AhSvLcQXHN.jpg
移動 headnext (移動到下一個要處理的 node)

以此類推到 head 移動到 null。

https://i.imgur.com/vI8cfaH.gif

Time complexity: O(n)


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言